/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package servidor_cantador;

import java.sql.SQLException;
import java.util.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

/**
 *
 * @author gabriel
 */
public class Cantante extends Thread {
int partida = 0;
    public Cantante (String ronda,int partida){

        super(ronda);
        this.partida = partida;
        
    }


    @Override
    public void run(){

    ArrayList lista_cantados = new ArrayList(75);
    int numero_aleatorio;
    int i = 0;
    int numRonda = Integer.parseInt(getName());
    int numPartida = this.partida;
    boolean numero_igual = false;
    Connection conexion;
    conexion = conexionBD();       

        while (lista_cantados.size() <= 74) {

            numero_aleatorio = (int) (Math.random()*75+1);
            
            numero_igual = lista_cantados.contains(numero_aleatorio);
            
                if(!numero_igual){
                    try {

                        lista_cantados.add(numero_aleatorio);
                        i++;
                        System.out.println(numero_aleatorio);
                        Insertar(conexion,numero_aleatorio,numRonda,numPartida);
                        sleep(10000);

                    }catch(SQLException e){

                        System.out.println("Se cayo por sql algo"+e.getMessage());

                    }catch (Exception e) {

                        System.out.println("Se cayo por algun error"+e.getMessage());

                    }
                }

        }
        
    
    }


    public Connection conexionBD(){


        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/multimedia", "root", "");
            return(conexion);
        }
        catch(Exception e){
            System.out.println(e.getMessage());
            return(null);
        }
        
    }

    public void Insertar(Connection conexion,int numero,int numRonda,int numPartida) throws SQLException{

       Statement statement = conexion.createStatement();
       statement.execute("INSERT INTO num_cantado VALUES(NULL,'"+numero+"','"+numRonda+"','"+numPartida+"')");
    }

   
}
